package com.inexas.cu.server.pipe;

import com.google.inject.*;
import com.inexas.cu.client.pipe.*;
import com.inexas.cu.server.pipe.ServiceRegistry.*;

@ImplementedBy(PipeServerEndImpl.class)
public interface PipeServerEnd extends PipeService {

	void register(Class<? extends AbstractRequest> piped, ServiceProvider handler);
	
	void register(Class<? extends AbstractRequest> piped, ServiceObserver handler);
	
	AbstractResponse process(AbstractRequest request);

}